package cc.rengu.redp.bizimpl.upmp.service;

import cc.rengu.redp.bizimpl.upmp.domain.BProdStageInfo;
import cc.rengu.redp.bizimpl.upmp.domain.UpmpOrganization;
import cc.rengu.redp.bizimpl.upmp.vo.OperationResult;
import cc.rengu.redp.bizimpl.upmp.vo.UpmpUserInfoVO;
import cc.rengu.redp.common.domain.QueryRequest;
import cc.rengu.redp.common.exception.RedpException;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 刘玉亮.LL
 * @since 2021-06-10
 */
public interface IBProdStageInfoService extends IService<BProdStageInfo> {

    IPage<BProdStageInfo> findByPage(QueryRequest request, BProdStageInfo info);

    OperationResult saveData(String oprMenuId, String oprMenuName, BProdStageInfo entity, UpmpUserInfoVO user, UpmpOrganization org,
                             IUpmpPrivilegeCheckService authPrivilegeCheckService, HttpServletRequest request, String webNextUrl, String authCode)throws RedpException;

    List<BProdStageInfo> getBaseProdStageList(String instId, String prodType, String baseProdCode);

    BProdStageInfo getfindbProdStageInfo(String instId, String prodType, String baseProdCode, String prodStageCode, Integer prodStageNum);

    void delete(List<BProdStageInfo> list);

    List<BProdStageInfo> selectBaseProdStageList(String instId, String prodType, String baseProdCode);

    List<BProdStageInfo> getProdStageListAdd(String instId, String prodType, String baseProdCode, String prodCode);

    BProdStageInfo getEffectProdStageAdd(String instId, String prodType, String baseProdCode, String prodCode, String prodStageCode, Integer prodStageNum, Integer date);
}
